package conduitevoiture;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
//import simu_voiture.*;

/**
 *
 * @author test
 */
public class VoitureTest {
    
    public VoitureTest() {
    }

    @BeforeClass
    public static void setUpClass() throws Exception {
    }

    @AfterClass
    public static void tearDownClass() throws Exception {
    }
    
    @Before
    public void setUp() {
    }
    
    @After
    public void tearDown() {
    }
    
    @Test
    public void testTopTimer() 
    {
        Voiture voiture = new Voiture(0.0, new Coordonnee(0.0, 0.0));
        voiture.topTimer();
        assertEquals(50.0, voiture.getVitesse(),0.0);
    }
    
    @Test
    public void testSeDeplacer() 
    {
        Voiture voiture = new Voiture(ConversionDistance.metreToPixel(50.0), new Coordonnee(0.0, 0.0));
        voiture.seDeplacer();
        assertEquals(ConversionDistance.metreToPixel(0.5), voiture.getCoordonnee().getX(), 0.0);
        assertEquals(0.0, voiture.getCoordonnee().getY(), 0.0);
    }
    
    @Test
    public void testConstructeur() 
    {
        Voiture voiture = new Voiture(1.0, new Coordonnee(0,0));
        assertEquals(1.0, voiture.getVitesse(),0.0);
        assertEquals(0.0, voiture.getCoordonnee().getX(), 0.0);
        assertEquals(0.0, voiture.getCoordonnee().getY(), 0.0);
    }

    @Test
    public void testAccelerer() 
    {
        Voiture voiture = new Voiture(1, new Coordonnee(0,0));
        voiture.accelerer(1);
        assertEquals(2, voiture.getVitesse(),0.0);
    }
    
    @Test
    public void testDecelerer() 
    {
        Voiture voiture = new Voiture(2, new Coordonnee(0,0));
        voiture.decelerer();
        assertEquals(1, voiture.getVitesse(),0.0);
    }
    
    @Test
    public void testFreiner() 
    {
        Voiture voiture = new Voiture(3, new Coordonnee(0,0));
        voiture.freiner(2);
        assertEquals(1, voiture.getVitesse(),0.0);
    }
}
